package com.wechat.service.cmds;

import java.util.concurrent.CompletableFuture;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.swak.annotation.FluxIgnoreInterface;
import com.wechat.command.Command;
import com.wechat.command.CommandResult;
import com.wechat.network.NetworkChannel;

/**
 * 命令处理器
 * 
 * @author 618lf
 */
@FluxIgnoreInterface
public interface CmdHandler {

	/**
	 * 日志处理器
	 */
	Logger logger = LoggerFactory.getLogger(CmdHandler.class);

	/**
	 * 处理消息
	 * 
	 * @param channel
	 * @param command
	 * @return
	 */
	CompletableFuture<CommandResult> handle(NetworkChannel channel, Command command);
}
